The present invention is directed to storage of data in nonvolatile memory. It has particular, although not exclusive, applicability to portable telephones.
The portable digital cellular telephone presents a severe packaging and power-consumption problem. For maximum convenience, the cellular-telephone circuitry--audio and radio-frequency circuitry as well as circuitry for performing the complex data processing required to extract and decode multiplexed-channel signals--should be completely contained in a single, small handset. Moreover, it is important that the user not be required to replace or recharge batteries with excessive frequency. So the circuitry should be provided in as few integrated-circuit devices as possible, and each device that is used should occupy a minimum of space and require very little power.
These requirements extend to the memory circuitry that the telephone employs. To perform the necessary operations, the telephone must include a microprocessor or dedicated digital-signal-processing integrated circuit that operates in response to fixed programming, or "firmware." The firmware typically is stored in read-only memory ("ROM"), which retains its contents even when power is removed, so it causes no battery drain when the telephone is not actually in use.
Other data, such as signal samples and intermediate results of various calculations, are not fixed, and they need to be stored in memory whose contents can be both read and written. The term used for the type of memory ordinarily employed for this purpose is RAM, for "random-access memory," although access to most ROM, too, is random in the sense that the time required to access a given data word is independent of that data word's location. The smallest and most-inexpensive RAM used for this purpose is volatile; i.e., it loses its contents when power is removed. Signal samples and intermediate computation results do not need to be remembered between uses, so this volatility is acceptable.
But there is an intermediate type of information for which volatility is not acceptable but that must be changed from time to time. Such information can, for instance, be volume settings, speed-dial numbers, accumulated-air-time data, and so forth. Since such information changes, it cannot be stored in ROM, but energy usage would be excessive if it were stored in the same conventional, volatile RAM employed for other purposes, because the RAM circuitry could never be removed from a power source.
To avoid this problem, one can employ a separate, dedicated RAM chip powered by a separate, long-term battery. Although this approach can be made to work, it places undesirable limits on product life and circuit miniaturization.
Another approach is to employ an electronically erasable programmable read-only memory ("EEPROM"). The contents of such a device can be written as well as read, yet it retains its contents when power is removed. Although such memory would seem to be a natural for this application, it unfortunately is several times as large as a conventional ROM of the same data capacity. It therefore presents the designer with two unattractive alternatives. He can employ a single EEPROM for both firmware and changeable parameters and thereby require much more space than otherwise to store the (typically large amount of) firmware, or he can employ conventional ROM for the firmware and a separate EEPROM for the changeable parameters and thereby suffer a device-count increase.